<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>组件的创建</title>
    <script src="../../lib/vue.js"></script>
</head>
<body>
    <div id="app">
        <my-component></my-component>
        <mycom></mycom>

        <!--3.3使用-->
        <mycom3></mycom3>

        <!--私有组件的使用-->
        <login></login>
    </div>


    <!--3.2 在被控制的元素外创建template-->
    <template id="tmp">
        <div>
            <h4>在外部定义的组件</h4>
            <span>wow</span>
        </div>
    </template>


    <template id="tmp2">
        <div>
            <h4>私有组件</h4>
            <span>wow</span>
        </div>
    </template>

    <script>
        //1.创建组件的方法1：
        // 1.1 创建组件构造方法
        var com = Vue.extend({
            template:'<h4>组件创建</h4>'
        });
        //1.2 创建组件
        Vue.component('myComponent',com);

        //2.创建组件的方式2：
        Vue.component('mycom',{
            template:"<div><h4>方式2创建的组件</h4><span>123123</span></div>"
        });


        //3.创建组件的方式3
        //3.1 创建
        Vue.component("mycom3",{
            template:"#tmp"
        });

        var vue = new Vue({
            el:'#app',
            data:{

            },
            methods:{

            },
            components:{//定义私有组件,只在该vue实例中可用。其余创建的方式都一样，也有三种
                login:{
                    template:"#tmp2"
                }
            }
        });
    </script>
</body>
</html>